.godmode {
    margin: 0 auto;
    max-width: 1440px;
    overflow: hidden;
}

.godmode-container {
    width: 100%;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: flex-start;
}

.godmode-sidebar {
    width: 280px;
}

    @media print {
        .godmode-sidebar {
            display: none !important;
        }

        .godmode-content {
            padding-left: 0 !important;
            padding-right: 0 !important;
        }
    }

.godmode-content {
    flex: 1;
    min-width: 500px;
}

.godmode-groups {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

    .godmode-group {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

        .godmode-group-header {
            font-weight: 500;
            font-size: 120%;
        }

        .godmode-group-items {
            display: flex;
            flex-direction: column;
            gap: 10px;
            font-size: 110%;
            padding-left: 3px;
        }

.godmode-filters {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    margin-bottom: 20px;
}

    .godmode-filters-value {
        flex: 1;
    }

    .godmode-filters-button {
        padding: 10px 15px;
    }

.godmode-form {
}

.godmode-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.godmode-page {}

.godmode-header {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    font-weight: 500;
    font-size: 160%;
}

.godmode-create-button-spacer {
    flex: 1;
}

.godmode-create-button {
    font-size: 70%;
    padding: 10px 15px;
}

.godmode-list-content {
    max-width: 100%;
    overflow-x: auto;
}

.godmode-simple-form {
    padding-top: 40px;
}

.godmode-action {
}

    .godmode-action-form {
        padding: 20px 0;
    }


.godmode-table {
    width: 100%;
}

    .godmode-table-header {
        font-size: 90%;
        font-weight: 600;
        padding: 5px 10px;
        background: var(--opposite-bg-color);
        color: var(--opposite-text-color);
        cursor: pointer;
        user-select: none;
    }

    .godmode-table-header:hover {
        opacity: 0.8;
    }

    .godmode-table td {
        padding: 5px 10px;
        max-width: 150px;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .godmode-table tr:hover {
        cursor: pointer;
        background: var(--opposite-bg-color);
        color: var(--opposite-text-color);
    }

    .godmode-table tr:hover a {
        color: var(--opposite-text-color);
    }

.godmode-empty {
    font-size: 200%;
    padding: 100px 0;
    text-align: center;
    opacity: 0.5;
    font-weight: 300;
}

.godmode-table-user {
    display: flex;
    flex-direction: row;
    gap: 5px;
    align-items: center;
}

    .godmode-table-user-avatar {
        min-width: 30px;
        min-height: 30px;
        width: 30px;
        height: 30px;
    }

    .godmode-table-user-avatar-big {
        min-width: 50px;
        min-height: 50px;
        width: 50px;
        height: 50px;
    }

.godmode-table-tag {
    padding: 5px 10px;
    border-radius: 10px;
    color: white;
}

.godmode-table-image {
    max-width: 100px;
    max-height: 150px;
}

.godmode-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px;
}

    .godmode-form-row {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 10px;
        align-items: center;
    }

    .godmode-form-label {
        font-size: 120%;
        font-weight: 500;
        min-width: 150px;
    }

    .godmode-form-input {
        flex: 1;
        width: 100%;
    }

    .godmode-form-input input,
    .godmode-form-input textarea {
        width: 100%;
        min-width: 320px;
    }

    .godmode-form-input input[type="checkbox"] {
        width: auto;
        min-width: 0;
        scale: 1.5;
    }

    .godmode-form-input input[readonly] {
        background-color: #DDD;
    }

    .godmode-form-input select {
        -webkit-appearance: listbox;
        appearance: auto;
    }

    .godmode-form-errors {
        width: 100%;
        color: red;
    }

    .godmode-form-actions {
        display: flex;
        gap: 10px;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding-top: 30px;
    }

.godmode-actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
    padding: 20px 0;
}

    .godmode-actions .button {
        padding: 10px 15px;
    }

.godmode-message {
    width:100%;
    padding: 100px 30px;
    font-size: 130%;
    text-align: center;
}

    .godmode-message-title {
        font-size: 120%;
        font-weight: 500;
    }

    .godmode-message-text {
        padding: 40px;
    }

.godmode-mobile-menu-toggle {
    display: none;
    background: var(--opposite-bg-color);
    color: var(--opposite-text-color);
    border: none;
    padding: 10px 15px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 18px;
    margin-bottom: 20px;
}

.godmode-mobile-menu-close {
    display: none;
}

/* Badge generator */
.badge-generator {
        max-width: 900px;  /* good for A4 printing */
        margin: 0 auto;
    }

.badge-generator-results {
    background-color: white;
    font-size: 16px;
}

    .badge-generator-table {
        table-layout: fixed;
        border-collapse: collapse;
    }

        .badge-generator-table td {
            width: 50%;
            padding: 0;
            border: solid 0.5px #666;
        }

    .badge-generator-results .profile-card {
        color-adjust: exact;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        grid-template-columns: 90px auto;
        column-gap: 15px;
        grid-template-rows: auto auto;
        box-shadow: none;
        margin-bottom: 0;
        padding: 30px 20px 20px;
        border-radius: 0;
    }

    .badge-generator-results .profile-card-info {
        font-size: 85%;
        padding-top: 0;
    }

        .badge-generator-results .profile-user-name {
            font-size: 200%;
            padding-bottom: 7px;
            line-height: 1.1em;
        }

        .badge-generator-results .profile-user-job {
            font-size: 120%;
        }

        .badge-generator-results .profile-user-location {
            font-size: 120%;
            opacity: 0.8;
            position: relative;
            left: -5px;
        }

        .badge-generator-results .profile-user-fullname {
            margin-right: 0;
        }

        .badge-generator-results .profile-user-nickname {
            position: relative;
            top: -0.1em;
            font-size: 70%;
            opacity: 1;
            color: #777;
        }

    .badge-generator-results .user-badges {
        grid-column-start: 1;
        grid-column-end: 3;
        font-size: 80%;
        gap: 10px;
        display: flex;
        justify-content: center;
        padding-top: 15px;
        padding-bottom: 0;

        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;

        overflow: hidden;
        max-height: 70px;
    }

    .badge-generator-results .user-badge-achievement {
        width: 20px;
        height: 20px;
        padding: 3px;
        border-radius: 5px;
    }

/* Mobile responsive styles */
@media (max-width: 700px) {
    .godmode-container {
        flex-direction: column;
        gap: 0;
    }

    .godmode-sidebar {
        width: 100%;
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: var(--bg-color);
        z-index: 1000;
        padding: 20px;
        overflow-y: auto;
    }

    .godmode-group {
        padding-top: 20px;
    }

    .godmode.mobile-menu-opened .godmode-sidebar {
        display: block;
    }

    .godmode-content {
        min-width: 100%;
        width: 100%;
    }

    .godmode-mobile-menu-toggle {
        display: block;
    }

    .godmode-mobile-menu-close {
        display: block;
        position: absolute;
        top: 20px;
        right: 20px;
        background: var(--opposite-bg-color);
        color: var(--opposite-text-color);
        border: none;
        padding: 10px 15px;
        border-radius: 5px;
        cursor: pointer;
        font-size: 18px;
    }

    .godmode-filters {
        flex-direction: column;
        gap: 10px;
        align-items: stretch;
    }

    .godmode-filters select,
    .godmode-filters input {
        width: 100%;
    }

    .godmode-table {
        font-size: 14px;
    }

    .godmode-table td {
        padding: 3px 5px;
        max-width: 100px;
    }

    .godmode-table-header {
        padding: 8px 5px;
        font-size: 12px;
    }

    .godmode-form-row {
        flex-direction: column;
        align-items: stretch;
        gap: 5px;
    }

    .godmode-form-label {
        min-width: auto;
        font-size: 110%;
    }

    .godmode-form-input input,
    .godmode-form-input textarea {
        min-width: 100%;
    }

    .godmode-form-actions {
        flex-direction: column;
        gap: 15px;
    }
}
